package cn.huiyunche.base.service.vo;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Calendar;
import java.util.Date;

public class CBillOrdersVo implements Serializable {

    private Long id;

    private Long userId;

    private String userName;

    private Integer userType;

    // 账单金额
    private BigDecimal amount;

    // 期初余额
    private BigDecimal beginBalance;

    // 账单已支付金额
    // private BigDecimal paidAmount;

    // 账单未支付金额
    // private BigDecimal unpaidAmount;

    // 积分抵扣金额
    private BigDecimal scoresPaid;

    private Integer status;

    // 帐期开始时间
    private Date beginDate;

    // 显示每月账单文本 2016年05月 账单
    private String monthText;

    // 帐期结束时间
    private Date endDate;

    private Date createTime;

    private Date updateTime;

    // 本月订单数量
    private int orderAmount;

    // 本月车辆数
    private int carAmount;

    private static final long serialVersionUID = 1L;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public Integer getUserType() {
        return userType;
    }

    public void setUserType(Integer userType) {
        this.userType = userType;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public BigDecimal getBeginBalance() {
        return beginBalance;
    }

    public void setBeginBalance(BigDecimal beginBalance) {
        this.beginBalance = beginBalance;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Date getBeginDate() {
        return beginDate;
    }

    public void setBeginDate(Date beginDate) {
        this.beginDate = beginDate;
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public int getOrderAmount() {
        return orderAmount;
    }

    public void setOrderAmount(int orderAmount) {
        this.orderAmount = orderAmount;
    }

    public int getCarAmount() {
        return carAmount;
    }

    public void setCarAmount(int carAmount) {
        this.carAmount = carAmount;
    }

    public String getMonthText() {
        Calendar now = Calendar.getInstance();
        now.setTime(endDate);
        return now.get(Calendar.YEAR) + "年" + (now.get(Calendar.MONTH) + 1) + "月";
    }

    public void setMonthText(String monthText) {
        this.monthText = monthText;
    }

    public BigDecimal getScoresPaid() {
        return scoresPaid;
    }

    public void setScoresPaid(BigDecimal scoresPaid) {
        this.scoresPaid = scoresPaid;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    public String toString() {
        return "CBillOrdersVo{" +
                "id=" + id +
                ", userId=" + userId +
                ", userName='" + userName + '\'' +
                ", userType=" + userType +
                ", amount=" + amount +
                ", beginBalance=" + beginBalance +
                ", scoresPaid=" + scoresPaid +
                ", status=" + status +
                ", beginDate=" + beginDate +
                ", monthText='" + monthText + '\'' +
                ", endDate=" + endDate +
                ", createTime=" + createTime +
                ", updateTime=" + updateTime +
                ", orderAmount=" + orderAmount +
                ", carAmount=" + carAmount +
                '}';
    }
}